//This is the header file of agp
//

//-----------------------------------------------------------------------------
#include "agp_data.h"  //definition of some datastures
#include "agp_util.h"  //definition of functions

//-----------------------------------------------------------------------------
// include STL headers
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;

//-----------------------------------------------------------------------------
// guard
struct agp_guard
{
    agp_vertex * vertex; //located on a vertex
};

//-----------------------------------------------------------------------------
// triangulations
struct agp_triangle
{
    agp_vertex * vertices[3]; //pointers to vertices of polygon
};

struct agp_triangulation
{
    //This will triangulate the given polygon and put results in triangles
    agp_triangulation(agp_poly& _ply);

    agp_poly& ply;
    vector<agp_triangle> triangles; //triangles of this triangulation
};

